S7-200 SMART CPU与S7-1200 CPU集成PN口的ISO on TCP通信 (S7-200 SMART作为客户端)

S7-200 SMART CPU与S7-1200 CPU 通过ISO on TCP 通信,需要在双方都建立连接。在S7-1200调用 T-block 指令(TCON, TDISCON, TSEND, TRCV) 、在S7-200SMART调用Open User Communication库指令(ISO_CONNECT,DISCONNECT,TCP_SEND,TCP_RECV)来实现。通信方式为双边通信,因此双方的发送和接收指令必须成对出现。
注意:
S7-200 SMARTPLC V2.2 版本才开始支持ISO on TCP通信,早期版本的CPU需要升级固件后方可支持ISO on TCP。

硬件:
① S7-1200 CPU (IP地址:192.168.0.203 子网掩码:255.255.255.0)
② S7-200 SMART CPU (固件V2.5)(IP地址:192.168.0.223 子网掩码:255.255.255.0)
软件:
① STEP7 V15
② STEP 7 Micro/WIN SMART V2.5
所完成的通信任务:
① S7-200 SMART将VB 3000开始的5 个字节发送到S7-1200 通信数据区 DB11中 ;
② S7-200 SMART读取S7-1200 中的数据区DB12的5个字节的数据存放到VB3100开始的5个字节中。

S7-200 SMART侧编程

1.调用ISO_CONNECT指令建立连接,伙伴TSAP(RemTsap)与本地TSAP(LocTsap)必须与S7-300中的连接配置交叉对应,如图1所示。

图1.调用ISO_CONNECT建立连接指令

2.调用TCP_SEND指令发送数据,如图2所示。

图2. 调用TCP_SEND发送指令

3.调用TCP_RECV指令接收数据,如图3所示。

图3. 调用TCP_RECV接收指令

4.为通信指令分配库存储器,如图4所示。

图4.为库存储器分配地址

S7-1200侧硬件组态和编程

1. 使用 STEP7 V15软件新建一个项目,添加1个S7-1200站点并为其分配网络和IP地址,如图5所示。

图5.组态S7-1200并分配IP地址

为编程方便,使用CPU属性中定义的时钟位,在设备视图双击CPU设置"系统和时钟存储器",如图6所示。

图6. 启用时钟位

2.在S7-1200 中调用建立连接指令,进入 "项目树" > " PLC_1" > "程序块" > "OB1" 主程序中,从右侧窗口 "指令"> "通信">"开放式用户通信"下调用 "TCON" 指令,配置连接参数,如图7所示。

图7.调用"TCON"指令并配置连接参数

3.创建发送数据块DB11(接收区数据块DB12类似),数据块中定义100个字节的数组,数据块的属性中需要取消"优化的块访问"选项,如图8所示。

图8.创建发送数据块DB11

4.在OB1中调用TSEND指令来发送数据,如图9所示。

图9.调用TEND发送指令

5.在OB1中调用TRCV指令来发送数据,如图10所示。

图10.调用TRCV发送指令

通信测试

分别下载控制器和智能设备的程序,在状态图表中添加相应的地址区域观察数据交换情况,如图11所示。

图11.通信测试

应用案例例程,如下所示:

S7-200 SMART程序:ISO-on-TCP_Client_V2.5

S7-1200程序:ISO-on-TCP_Server_V15

免责声明

本例程仅供参考,程序中的CPU版本、类型可能与用户实际使用不同,用户可能需要先对例子程序做修改和调整,才能将其用于测试。本例程的作者和拥有者对于该例程的功能性和兼容性不负任何责任,使用该例程的风险完全由用户自行承担。由于它是免费的,所以不提供任何担保,错误纠正和热线支持,用户不必为此联系西门子技术支持与服务部门。